Implantable stimulation devices are devices that generate and deliver electrical stimuli to body nerves and tissues for the therapy of various biological disorders, such as pacemakers to treat cardiac arrhythmia, defibrillators to treat cardiac fibrillation, cochlear stimulators to treat deafness, retinal stimulators to treat blindness, muscle stimulators to produce coordinated limb movement, spinal cord stimulators to treat chronic pain, cortical and deep brain stimulators to treat motor and psychological disorders, and other neural stimulators to treat urinary incontinence, sleep apnea, shoulder subluxation, etc. The description that follows will generally focus on the use of the invention within a Spinal Cord Stimulation (SCS) system, such as that disclosed in U.S. Pat. No. 6,516,227. However, the present invention may find applicability in any implantable medical device system, including a Deep Brain Stimulation (DBS) system.
As shown in FIGS. 1A-1C, an SCS system typically includes an Implantable Pulse Generator (IPG) 10 (Implantable Medical Device (IMD) 10 more generally), which includes a biocompatible device case 12 formed of a conductive material such as titanium for example. The case 12 typically holds the circuitry and power source (e.g., battery) 14 (FIG. 1C) necessary for the IPG 10 to function, although IPGs can also be powered via external RF energy and without a battery. The IPG 10 is coupled to electrodes 16 via one or more electrode leads 18, such that the electrodes 16 form an electrode array 20. The electrodes 16 are carried on a flexible body 22, which also houses the individual signal wires 24 coupled to each electrode. In the illustrated embodiment, there are eight electrodes (Ex) on two leads 18 for a total of sixteen electrodes 16, although the number of leads and electrodes is application specific and therefore can vary. The leads 18 couple to the IPG 10 using lead connectors 26, which are fixed in a non-conductive header material 28, which can comprise an epoxy for example.
As shown in the cross-section of FIG. 1C, the IPG 10 typically includes a printed circuit board (PCB) 30, along with various electronic components 32 mounted to the PCB 30, some of which are discussed subsequently. Two coils (more generally, antennas) are shown in the IPG 10: a telemetry coil 34 used to transmit/receive data to/from an external controller (not shown); and a charging coil 36 for charging or recharging the IPG's battery 14 using an external charger (not shown). FIG. 1B shows these aspects in perspective with the case 12 removed for easier viewing. Telemetry coil 34 may alternatively comprise a short range RF antenna for wirelessly communicating in accordance with a short-range RF standard such as Bluetooth, WiFi, MICS, Zigbee, etc., as described in U.S. Patent Application Publication 2016/0051825.
FIG. 2A shows a prior art architecture 40 for the circuitry in IPG 10, which is disclosed in U.S. Patent Application Publications 2012/0095529, 2012/0092031 and 2012/0095519 (“ASIC Publications”), which are incorporated by reference in their entireties. Architecture 40 includes a microcontroller integrated circuit 50 and an Application Specific Integrated Circuit (ASIC) 60 in communication with each other by a bus 90. Stated simply, the microcontroller 50 provides master control for the architecture 40, while ASIC 60 takes commands from and provides data to the microcontroller. ASIC 60 provides specific IPG functionality. For example, and as explained in further detail below, ASIC 60 send stimulation current to and reads measurements from the sixteen electrodes 16. ASIC 60 comprises a mixed mode IC carrying and processing both analog and digital signals, whereas microcontroller 50 comprises a digital IC carrying and processing only digital signals.
Microcontroller 50 and ASIC 60 comprise monolithic integrated circuits each formed on their own semiconductive substrates (“chips”), and each may be contained in its own package and mounted to the IPG 10's PCB 30. Architecture 40 may also include additional memory (not shown) for storage of programs or data beyond that provided internally in the microcontroller 50. Additional memory may be connected to the microcontroller 50 by a serial interface (SI) as shown, but could also communicate with the microcontroller 50 via bus 90. Bus 90 may comprise a parallel address/data bus, and may include a clock signal and various control signals to dictate reading and writing to various memory locations, as explained in the '529 Publication. Bus 90 and the signals it carries may also take different forms; for example, bus 90 may include separate address and data lines, may be serial in nature, etc.
As explained in the above-referenced ASIC Publications, architecture 40 is expandable to support use of a greater number of electrodes 16 in the IPG 10. For example, and as shown in dotted lines in FIG. 2A, architecture 40 may include another ASIC 60′ identical in construction to ASIC 60, thus expanding the number of electrodes supported by the IPG 10 from sixteen to thirty two. Various off-bus connections 54 (i.e., connections not comprising part of bus 90) can facilitate such expansion, and may further (e.g., by bond programming; see inputs M/S) designate ASIC 60 as a master and ASIC 60′ as a slave. Such differentiation between the ASICs 60 and 60′ can be useful, as certain redundant functionality in the slave ASIC 60′ can be disabled in favor of the master ASIC 60. Off-bus communications 54 can allow the voltage at the electrodes nodes 61a (E1′-E16′) of one of the ASICs (60′; OUT1, OUT2) to be sent to the other ASIC (60; IN1, IN2) to be measured. Off-bus connections 54 are further useful in generation and distribution of a clock signal governing communications on the bus 90 as well as in the ASIC(s) 60. As these concepts are discussed in detail in the above-referenced ASIC Publications, they are not elaborated upon here.
FIG. 2B shows various functional circuit blocks within ASIC 60, which are briefly described. ASIC 60 includes an internal bus 92 which can couple to external bus 90 and which may duplicate bus 90's signals. Note that each of the functional blocks includes interface circuitry 88 enabling communication on the internal bus 92 and ultimately external bus 90, as the above-referenced ASIC Publications explain. Interface circuitry 88 includes circuitry to help each block recognize when bus 92 is communicating data with addresses belonging to that block. ASIC 60 contains several terminals 61 (e.g., pins, bond pads, solder bumps, etc.), such as those necessary to connect to the bus 90, the battery 14, the coils 34, 36, external memory (not shown). Terminals 61 include electrode node terminals 61a (E1′-E16′) which connect to the electrodes 16 (E1-E16) on the lead(s) 18 by way of DC-blocking capacitors 55. As is known, DC-blocking capacitors 55 are useful to ensure that DC current isn't inadvertently (e.g., in the event of failure of the ASIC 60's circuitry) injected into the patient's tissue, and hence provide safety to the IPG 10. Such DC-blocking capacitors 55 can be located on or in the IPG 10's PCB 30 (FIG. 1C) inside of the IPG's case 12. See U.S. Patent Application Publication 2015/0157861.
Each of the circuit blocks in ASIC 60 performs various functions in IPG 10. Telemetry block 64 couples to the IPG telemetry coil 34, and includes transceiver circuitry for wirelessly communicating with an external device according to a telemetry protocol. Such protocol may comprise Frequency Shift Keying (FSK), Amplitude Shift Keying (ASK), or various short-range RF standards such as those mentioned above. Charging/protection block 62 couples to the IPG charging coil 38, and contains circuitry for rectifying power wirelessly received from an external charger (not shown), and for charging the battery 14 in a controlled fashion.
Analog-to-Digital (A/D) block 66 digitizes various analog signals for interpretation by the IPG 10, such as the battery voltage Vbat or voltages appearing at the electrodes, and is coupled to an analog bus 67 containing such voltages. A/D block 66 may further receive signals from sample and hold block 68, which as the ASIC Publications explain can be used to measure such voltages, or differences between two voltages. For example, sample and hold circuitry 68 may receive voltages from two electrodes and provide a difference between them (see, e.g., Ve1−Ve2 in FIG. 3, discussed subsequently), which difference voltage may then be digitized at A/D block 66. Knowing the difference in voltage between two electrodes when they pass a constant current allows for a determination of the (tissue) resistance between them, which is useful for a variety of reasons.
Sample and hold block 68 may also be used to determine one or more voltage drops across the DAC circuitry 72 used to create the stimulation pulses (see, e.g., Vp and Vn in FIG. 3, explained subsequently). This is useful to setting the compliance voltage V+ to be output by a compliance voltage generator block 76. Compliance voltage V+ powers the DAC circuitry 72, and the measured voltage drops ensure that the compliance voltage V+ produced is optimal for the stimulation current to be provided—i.e., V+ is not too low as to be unable to produce the current required for the stimulation, nor too high so as to waste power in the IPG 10. Compliance voltage generator block 76 includes circuitry for boosting a power supply voltage such as the battery voltage, Vbat, to a proper level for V+. Such circuitry (some of which may be located off chip) can include an inductor-based boost converter or a capacitor-based charge pump, which are described in detail in U.S. Patent Application Publication 2010/0211132.
Clock generation block 74 can be used to generate a clock for the ASIC 60 and communication on the bus. Clock generation block 74 may receive an oscillating signal from an off-chip crystal oscillator 56, or may comprise other forms of clock circuitry located completely on chip, such as a ring oscillator. U.S. Patent Application Publication 2014/0266375 discloses another on-chip circuit that can be used to generate a clock signal on the ASIC 60.
Master/slave control block 86 can be used to inform the ASIC 60 whether it is to be used as a master ASIC or as a slave ASIC (e.g., 60′), which may be bond programmed at M/S terminal 61. For example, M/S terminal may be connected to a power supply voltage (e.g., Vbat) to inform ASIC 60 that it will operate as a master ASIC, or to ground to inform that it will operate as a slave, in which case certain function blacks will be disabled, as the ASIC Publications explain.
Interrupt controller block 80 receives various interrupts (e.g., INT1-INT4) from other circuit blocks, which because of their immediate importance are received independent of the bus 92 and its communication protocol. Interrupts may also be sent to the microcontroller 50 via the bus 90. Internal controller 82 in the ASIC 60 may receive indication of such interrupts, and act a controller for all other circuit blocks, to the extent microcontroller 50 (FIG. 2A) does not handle such interrupt through the external bus 90. Further, each of the functional circuit blocks contain set-up and status registers (not shown) written to by the controller 82 upon initialization to configure and enable each block. Each functional block can then write pertinent data at its status registers, which can in turn be read by the controller 82 via internal bus 92 as necessary, or by the microcontroller 50 via external bus 90. The functional circuit blocks can further simple state machines to manage their operation, which state machines are enabled and modified via each block's set-up and status registers.
Nonvolatile memory (NOVO) block 78 caches any relevant data in the system (such as log data). Additional memory (not shown) can also be provided off-chip via a serial interface block 84.
ASIC 60 further includes a stimulation circuit block 70, which includes circuitry for receiving and storing stimulation parameters from the microcontroller 50 via buses 90 and 92. Stimulation parameters define the shape and timing of stimulation pulses to be formed at the electrodes, and can include parameters such as which electrodes E1-E16 will be active; whether those active electrodes are to act as anodes that source current to a patient's tissue, or cathodes that sink current from the tissue; and the amplitude (A), duration (d), and frequency (f) of the pulses. Amplitude may comprise a voltage or current amplitude. Such stimulation parameters may be stored in registers in the stimulation circuitry block 70. See, e.g., U.S. Patent Application Publications 2013/0289661; 2013/0184794.
Block 70 also includes a Digital-to-Analog Converter (DAC) 72 for receiving the stimulation parameters from the registers and for forming the prescribed pulses at the selected electrodes. FIG. 3 shows a simple example of DAC circuitry 72 as used to provide a current pulse between selected electrodes E1 and E2 and through a patient's tissue, Rt. DAC circuitry 72 as shown comprises two portions, denoted as PDAC 72p and NDAC 72n. These portions of DAC circuitry 72 are so named because of the polarity of the transistors used to build them and the polarity of the current they provide. Thus, PDAC 72p is formed from P-channel transistors and is used to source a current +I to the patient's tissue Rt via a selected electrode E1 operating as an anode. NDAC 72n is formed of N-channel transistors and is used to sink current −I from the patient's tissue via a selected electrode E2. It is important that current sourced to the tissue at any given time equal that sunk from the tissue to prevent charge from building in the tissue, although more than one anode electrode and more than one cathode electrode may be operable at a given time.
PDAC 72p and NDAC 72n receive digital control signals from the registers in the stimulation circuitry block 70, denoted <Pstim> and <Nstim> respectively, to generate the prescribed pulses with the prescribed timing. In the example shown, PDAC 72p and NDAC 72n comprise current sources, and in particular include current-mirrored transistors for mirroring (amplifying) a reference current Iref to produce pulses with an amplitude (A) of I. PDAC 72p and NDAC 72n could however also comprise constant voltage sources. Control signals <Pstim> and <Nstim> also prescribe the timing of the pulses, including their duration (D) and frequency (f), as shown in the waveforms generated at the selected electrodes. The PDAC 72p and NDAC 72n along with the intervening tissue Rt complete a circuit between a power supply V+—the compliance voltage as already introduced—and ground. As noted earlier, the compliance voltage V+ is adjustable to an optimal level at compliance voltage generator block 76 (FIG. 2B) to ensure that current pulses of a prescribed amplitude can be produced without unnecessarily wasting IPG power.
The DAC circuitry 72 (PDAC 72p and NDAC 72n) may be dedicated at each of the electrodes, and thus may be activated only when its associated electrode is to be selected as an anode or cathode. See, e.g., U.S. Pat. No. 6,181,969. Alternatively, one or more DACs (or one or more current sources within a DAC) may be distributed to a selected electrode by a switch matrix (not shown), in which case optional control signals <Psel> and <Nsel> would be used to control the switch matrix and establish the connection between the selected electrode and the PDAC 72p or NDAC 72n. See, e.g., U.S. Pat. No. 8,606,362. DAC circuitry 72 may also use a combination of these dedicated and distributed approaches. See, e.g., U.S. Pat. No. 8,620,436.
In the example waveform shown, the pulses provided at the electrodes are biphasic, meaning that each pulse comprises a first phase 94a of a first polarity, followed by a second phase 94b of an opposite polarity. This is useful as a means of active recovery of charge that may build up on the DC-blocking capacitors 55. Thus, while charge will build up on the capacitors 55 during the first pulse phase 94a, the second pulse phase 94b will actively recover that charge, particularly if the total amount of charge is equal in each phase (i.e., of the area under the first and second pulse phases are equal). Recovery of excess charge on the DC-blocking capacitors 55 is important to ensure that the DAC circuit 72 will operate as intended: if the charge/voltage across the DC-blocking capacitors 55 is not zero at the end of each pulse, remaining charge/voltage will skew formation of subsequent pulses, which may therefore not provide the prescribed amplitude.
While active recovery of charge using a biphasic pulse is beneficial, such active recovery may not be perfect, and hence some residual charge may remain on the DC-blocking capacitors 55 even after the second phase 94b of the biphasic pulse. Thus, the art has recognized the utility of passive charge recovery. Passive charge recovery is implemented with the stimulation circuit block 70, and includes use of passive recovery switches (transistors) 96, which are connected between the electrode nodes (E1′-E16′) 61a and a common reference voltage. This voltage as shown may simply comprise the battery voltage, Vbat, but another common reference voltage could also be used. Closing the passive recovery switches 96 during a time period 98 after the second pulse phase 94b couples the DC-blocking capacitors 55 in parallel between the reference voltage and the patient's tissue. Given the previous serial connection of the DC-blocking capacitors, this should normalize any remaining charge.